package com.erpx.api.param;


import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
public class StockInOrderDetailParam implements Serializable {
    private static final long serialVersionUID = 1L;

    @JsonProperty("sku_id")
    private Long skuId;

    @JsonProperty("sku_no")
    private String skuNo;

    @JsonProperty("stock_type")
    private Integer stockType;

    @JsonProperty("real_num")
    private BigDecimal realNum;

    @JsonProperty("num")
    private BigDecimal num;

    @JsonProperty("stockin_price")
    private BigDecimal stockinPrice;

    @JsonProperty("share_post_amount")
    private BigDecimal sharePostAmount;

    @JsonProperty("stockin_amount")
    private BigDecimal stockinAmount;

    @JsonProperty("remark")
    private String remark;

    @JsonProperty("position_id")
    private Long positionId;

    @JsonProperty("position_no")
    private String positionNo;

    // 冗余字段，当前系统中货位存在两个命名，做兼容
    @JsonProperty("location_id")
    private Long locationId;

    @JsonProperty("location_name")
    private String locationName;

    @JsonProperty("batch_id")
    private Long batchId;

    @JsonProperty("batch_no")
    private String batchNo;

    @JsonProperty("production_date")
    private String productionDate;

    @JsonProperty("expire_date")
    private String expireDate;

    @JsonProperty("sn_num")
    private Integer snNum;

    @JsonProperty("sku_sn")
    private List<String> skuSn;

    public StockInOrderDetailParam(String skuNo, Integer stockType, BigDecimal real_num, BigDecimal num, BigDecimal stockin_price, BigDecimal stockinAmount, String remark, String positionNo, String batchNo, String productionDate, String expireDate, BigDecimal sharePostAmount) {
        this.setSkuNo(skuNo);
        this.setStockType(stockType);
        this.setRealNum(real_num);
        this.setNum(num);
        this.setStockinPrice(stockin_price);
        this.setStockinAmount(stockinAmount);
        this.setRemark(remark);
        this.setPositionNo(positionNo);
        this.setBatchNo(batchNo);
        this.setProductionDate(productionDate);
        this.setExpireDate(expireDate);
        this.setSharePostAmount(sharePostAmount);
    }
}
